package com.bangyo.core.manager;

/**
 * 适用于manager层的用户上下文环境。可用于模拟用户的登录状态、用户当前的session ID、用户当前的IP地址。
 * 
 * @author Topbit 2006-3-23 19:04:25
 */
public class UserContext
{

    private long userPoin = 0L;

    private String remoteAddress = null;

    private String sessionId = null;

    private String userAgentPermanentCode = null;

    public UserContext()
    {
        super();
    }

    /**
     * 判断用户是否已登录。
     * 
     * @return <code>true</code>，用户已登录；<code>false</code>，用户未登录。
     */
    public boolean hasLogin()
    {
        return 0L!=userPoin;
    }

    /**
     * 获取用户的远程IP地址。
     * 
     * @return 远程IP地址。
     */
    public String getRemoteAddress()
    {
        return remoteAddress;
    }

    public void setRemoteAddress(String remoteAddress)
    {
        this.remoteAddress = remoteAddress;
    }

    /**
     * 获取用户当前的session ID。
     * 
     * @return 当前的session ID。
     */
    public String getSessionId()
    {
        return sessionId;
    }

    public void setSessionId(String sessionId)
    {
        this.sessionId = sessionId;
    }

    /**
     * 获取用户的POIN。0表示未登录。
     * 
     * @return 用户的POIN。
     */
    public long getUserPoin()
    {
        return userPoin;
    }

    public void setUserPoin(long userPoin)
    {
        this.userPoin = userPoin;
    }

    /**
     * 获取用户的cookie
     * 
     * @return 用户的cookie
     */
    public String getUserAgentPermanentCode()
    {
        return userAgentPermanentCode;
    }

    public void setUserAgentPermanentCode(String userAgentPermanentCode)
    {
        this.userAgentPermanentCode = userAgentPermanentCode;
    }
}